Real-time collaborative tools allow a group of users to view and edit the same text/graphic/image/multimedia document at the same time from geographically distributed locations connected by communication networks, such as the Internet. With the spread of the Internet and intranets, collaboration between groups across remote sites is increasing.
Collaboration tools, or groupware, can generally be divided into asynchronous and synchronous tools. Groupware, such as email, workflow systems, group calendars, and newsgroups on a network where the data is presented to a user when explicitly requested are asynchronous tools. These asynchronous tools do not require the simultaneous presence of users in the same location at the same time. On the other hand, new sets of tools such as shared whiteboards, chat systems, and more sophisticated environments, such as internet multi-player video gaming, allow groups of users to interact simultaneously. These tools allow users and groups to work in a common work space at the same time in a synchronous, real-time fashion. Changes to the shared work space are made visible to all participants immediately.
Collaborative writing systems also may provide both real-time support and non-real-time support. Word processors, such as Microsoft Word, provide asynchronous support by showing authorship and by allowing users to track changes and make annotations to documents. Authors collaborating on a document may also be given tools to help plan and coordinate the change management process, such as methods for locking parts of the document. Synchronous collaborative writing systems allow authors to see each other's changes as they make them. These systems usually require an additional communication channel for the authors as they work, such as a video communication system or a chat system.
Currently, synchronous tools are quite restrictive in the types of data that can be shared and edited in a common work space. For example, the work space for chat programs is a common text file which serves as a conversation log. The work space for whiteboards is a shared bitmap image. If a group wishes to view and edit a slide presentation or a database in a discussion through a whiteboard, they have to share the bitmap image of the slide presentation or database and modify local copies manually in order to maintain synchrony between local copies and the image in the collaborative discussion in the whiteboard.
Prior solutions for real-time collaboration and version control systems have generally related to computer-based systems for enhancing collaboration between and among individuals who are separated by distance and/or time. The goal, in these solutions is to replicate in a computer desktop environment, the full range, level and intensity of interpersonal communication and information sharing which would occur if all the participants were together in the same room at the same time. These solutions are memory and bandwidth intensive and are not realistic nor are they applicable for mobile devices with limited memory and display areas.